package com.redepronik.negosys.invfac.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * The persistent class for the pagoentrada database table.
 * 
 */
@Entity
@Table(schema = "invfac", name = "pagoentrada")
@NamedQuery(name = "Pagoentrada.findAll", query = "SELECT p FROM Pagoentrada p")
public class Pagoentrada implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(allocationSize = 1, name = "PAGOENTRADA_PAGOENTRADAID_GENERATOR", sequenceName = "INVFAC.PAGOENTRADA_PAGOENTRADAID_SEQ")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "PAGOENTRADA_PAGOENTRADAID_GENERATOR")
	@Column(unique = true, nullable = false)
	private Integer pagoentradaid;

	private Boolean anulado;

	@Column(length = 100)
	private String banco;

	@Column(length = 50)
	private String chequevaucher;

	@Column(length = 50)
	private String cuentatarjeta;

	@Column(nullable = false, precision = 20, scale = 10)
	private BigDecimal cuota;

	@Column(length = 500)
	private String detalle;

	@Temporal(TemporalType.DATE)
	private Date fechacheque;

	@Temporal(TemporalType.DATE)
	private Date fechagiro;

	@Column(nullable = false)
	private Timestamp fechapago;

	@Column(nullable = false)
	private Boolean pagado;

	// bi-directional many-to-one association to Entrada
	@ManyToOne
	@JoinColumn(name = "detalleentradaid", nullable = false)
	private Entrada entrada;

	// bi-directional many-to-one association to Tipopago
	@ManyToOne
	@JoinColumn(name = "tipopagoid", nullable = false)
	private Tipopago tipopago;

	public Pagoentrada() {
	}

	public Boolean getAnulado() {
		return this.anulado;
	}

	public String getBanco() {
		return this.banco;
	}

	public String getChequevaucher() {
		return this.chequevaucher;
	}

	public String getCuentatarjeta() {
		return this.cuentatarjeta;
	}

	public BigDecimal getCuota() {
		return this.cuota;
	}

	public String getDetalle() {
		return this.detalle;
	}

	public Entrada getEntrada() {
		return this.entrada;
	}

	public Date getFechacheque() {
		return this.fechacheque;
	}

	public Date getFechagiro() {
		return this.fechagiro;
	}

	public Timestamp getFechapago() {
		return this.fechapago;
	}

	public Boolean getPagado() {
		return this.pagado;
	}

	public Integer getPagoentradaid() {
		return this.pagoentradaid;
	}

	public Tipopago getTipopago() {
		return this.tipopago;
	}

	public void setAnulado(Boolean anulado) {
		this.anulado = anulado;
	}

	public void setBanco(String banco) {
		this.banco = banco;
	}

	public void setChequevaucher(String chequevaucher) {
		this.chequevaucher = chequevaucher;
	}

	public void setCuentatarjeta(String cuentatarjeta) {
		this.cuentatarjeta = cuentatarjeta;
	}

	public void setCuota(BigDecimal cuota) {
		this.cuota = cuota;
	}

	public void setDetalle(String detalle) {
		this.detalle = detalle;
	}

	public void setEntrada(Entrada entrada) {
		this.entrada = entrada;
	}

	public void setFechacheque(Date fechacheque) {
		this.fechacheque = fechacheque;
	}

	public void setFechagiro(Date fechagiro) {
		this.fechagiro = fechagiro;
	}

	public void setFechapago(Timestamp fechapago) {
		this.fechapago = fechapago;
	}

	public void setPagado(Boolean pagado) {
		this.pagado = pagado;
	}

	public void setPagoentradaid(Integer pagoentradaid) {
		this.pagoentradaid = pagoentradaid;
	}

	public void setTipopago(Tipopago tipopago) {
		this.tipopago = tipopago;
	}

}